// 接口隔离原则

// 违反接口隔离原则
// 接口规定 Animal 动物类都应该具备 eat 和 fly 方法
// interface Animal {
//   eat(): void
//   fly(): void
// }
// class Dog implements Animal {
//   eat(): void {
//     console.log('狗在吃')
//   }
//   // 不符合接口隔离原则 不应该强迫 Dog 类实现一个不使用的方法
//   fly(): void {
//     throw new Error("Method not implemented.")
//   }
// }


// 符合接口隔离原则
interface Eater {
  eat(): void
}
interface Flyer {
  fly(): void
}
class Dog implements Eater {
  eat() {
    console.log('狗狗吃饭')
  }
}
class Bird implements Eater, Flyer {
  eat() {
    console.log('小鸟在吃东西')
  }
  fly() {
    console.log('小鸟在飞')
  }
}

export {} // 将当前文件变成一个模块